package com.geovis.emergency.spd.entity.pc.pojo.dto;

import com.geovis.emergency.spd.entity.pc.entity.PcPlanStructure;
import com.geovis.emergency.spd.entity.pc.pojo.vo.PcPlanDutyDeptVO;
import com.geovis.emergency.spd.entity.pc.pojo.vo.PcPlanDutyOrgVO;
import com.geovis.emergency.spd.entity.system.entity.SystemFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * <p>
 * 应急预案指挥模块-预案管理保存DTO
 * </p>
 *
 * @author Kami
 * @version 1.0
 * @date 2022/6/9
 */
@Data
@ToString(callSuper = true)
@Accessors(chain = true)
@ApiModel(value = "PcPlanSaveDTO", description = "应急预案指挥模块-预案管理保存DTO")
public class PcPlanSaveDTO {

    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("预案类型")
    @NotEmpty(message = "预案类型不能为空")
    private String type;

    @ApiModelProperty("创建人")
    private String createUser;

    @ApiModelProperty("所属区域（行政区划编码）")
    private String regionCode;

    @ApiModelProperty("状态（0-禁用，1-启用）")
    private String dataStatus;

    @ApiModelProperty("是否已删除")
    private String isDeleted;

    @ApiModelProperty("应急预案文件")
    private List<SystemFile> planingFileList;

    @ApiModelProperty("工作规则文件")
    private List<SystemFile> workRulesFileList;

    @ApiModelProperty("工作手册文件")
    private List<SystemFile> manualWorkFileList;

    @ApiModelProperty("操作手册文件")
    private List<SystemFile> operationManualFileList;

    @ApiModelProperty("预案简本文件")
    private List<SystemFile> overViewFileList;

    @ApiModelProperty("其他文件")
    private List<SystemFile> otherFileList;

    @ApiModelProperty("组织架构")
    private List<PcPlanDutyOrgVO> dutyOrgList;

    @ApiModelProperty("成员单位职责")
    private List<PcPlanDutyDeptVO> dutyDeptList;

    @ApiModelProperty("预案结构化")
    private List<PcPlanStructure> structures;

    @ApiModelProperty("预案备案系统的预案名称")
    private String filingPlanName;
    @ApiModelProperty("预案备案系统的预案id")
    private String filingPlanId;
}
